﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 版权所有 (c) 2022 北京超维景生物科技有限公司 保留所有权利。
 * CLR版本：4.0.30319.42000
 * 文件名：Kernel
 * 
 * 创建者：huangyang
 * 电子邮箱：huangyang@tvscope.cn
 * 创建时间：2023/2/15 14:42:13
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ImageK.Plugin.Filter
{
    /** ImageJ plugins that process an image may implement this interface.
    *  In addition to the features of PlugInFilter, it is better suited
    *  for filters that have a dialog asking for the options or filter
    *  parameters. It also offers support for preview, for a smooth
    *  progress bar when processing stacks and for calling back
    *  the PlugInFilterRunner (needed, e.g., to get the slice number
    *  when processing a stack in parallel threads).
     */
    public interface ExtendedPlugInFilter:PlugInFilter
    {
        /**
         * This method is called by ImageJ to inform the plugin-filter
         * about the passes to its run method. During preview, the number of
         * passes is one (or 3 for RGB images, if <code>CONVERT_TO_FLOAT</code>
         * has been specified). When processing a stack, it is the number
         * of slices to be processed (minus one, if one slice has been
         * processed for preview before), and again, 3 times that number
         * for RGB images processed with <code>CONVERT_TO_FLOAT</code>.
         */
        public void setNPasses(int nPasses);
    }
}
